(a) Field of the Invention
The present invention relates to a V-BLAST system used in the MIMO (Multiple Input Multiple Output) communication system. More specifically, the present invention relates to the V-BLAST system including a simple inverse matrix operation architecture and a processing device for a pseudo inverse matrix of a channel transfer function matrix, applicable to the V-BLAST system.
(b) Description of the Related Art
A wireless channel having a multipath is known to have much channel capacity. Thus, requests for a Multiple Input Multiple Output (MIMO) system have gradually increased. In the MIMO system, it is well known that rich multipath scattering is provided on a communication channel, when appropriate space-time processing is done. A Diagonal Bell Laboratories Layered Space-Time (D-BLAST) was proposed in 1996 by Foschini, which is applicable to the MIMO system. The D-BLAST utilizes multi-element antenna arrays at both transmitter and receiver, and an elegant diagonally layered coding structure in which code blocks are dispersed across diagonals in space-time. In an independent Rayleigh scattering environment, this processing structure leads to theoretical rates which grow linearly with the number of antennas (assuming an equal numbers of transmit and receive antennas) with these rates approaching 90% of Shannon capacity. However, the diagonal approach suffers from implementation complexities.
Thus, a Vertical Bell Laboratories Layered Space-Time (V-BLAST) method was proposed in 1998 by Wolniansky, which can embody a simplified version of D-BLAST.
FIG. 1 shows a general architecture of a MIMO communication system using a V-BLAST.
As shown in FIG. 1, the MIMO communication system comprises a transmitter 10 and a receiver 20.
The transmitter 10 comprises a serial-parallel converter 11 for converting serial constructed data to parallel constructed data, a modulator 12 for QPSK modulating the parallel data to symbols, and an antenna 13 for transferring the symbols through a channel.
The receiver includes an antenna 25 for receiving the symbols through the channel, a channel estimator 21 for determining a channel transfer function matrix including channel properties, a V-BLAST system 22 for receiving the channel transfer function matrix H including received channel properties and a received symbol r and performing operation processes to them, a demodulator 23 for QPSK demodulating the detected symbol, and a parallel-serial converter 24 for converting the parallel demodulated data to serial data and producing the received data.
Hereinafter, an algorithm applied to the V-BLAST system 22 is described in detail. To simplify the algorithm, the channel transfer function matrix H including the received channel properties is limited to a 4×4 matrix having 4 rows and 4 columns.
FIG. 2 shows a construction of a general V-BLAST system 22, the V-BLAST method is applied.
The V-BLAST system 22 comprises a pseudo inverse matrix calculator 200, a norm & minimum calculator 201, a zero forcing vector selector 202, a matrix shrinking unit 203, a first multiplier 204, a demapper 205, a multiplier 206, and switches SW1 and SW2.
Hereinafter, the processing of the V-BLAST system 22 is described.
The channel transfer function matrix H is obtained by a training sequence or estimating channel, but in the present invention, the channel transfer function matrix H is assumed to be calculated at the channel estimator 21 and inputted to the V-BLAST system 22, and a detailed explanation thereof is not described in this specification. Further, Hki-1 is a matrix of which columns k1, k2 . . . ki are “0”.
First, the channel transfer function matrix H is inputted to the first switch SW1, and the first switch SW1 outputs the channel transfer function matrix H to the pseudo inverse matrix calculator 200. The pseudo inverse matrix calculator 200 calculates a Moore-Penrose pseudo inverse matrix H+ from the inputted matrix H, and outputs the pseudo inverse matrix H+. The pseudo inverse matrix H+ of the channel transfer function matrix H is as in the following Equation 1.Gi-1=H+  [Equation 1]
The pseudo inverse matrix H+ calculated from the pseudo inverse matrix calculator 200 is inputted to the norm & minimum calculator 201. The norm & minimum calculator 201 finds a norm which is a sum of elements squared in each rows of G1 by using the following Equation 2, and produces a minimum index k1 which is a minimum of the norms.
                              k          1                =                                            arg              ⁢                                                          ⁢              min                        j                    ⁢                                          ⁢                                                                  (                                  G                  1                                )                                                    j            2                                              [                  Equation          ⁢                                          ⁢          2                ]            
As such, the minimum index k1 calculated by the norm & minimum calculator 201 is inputted to the zero forcing vector selector 202 and the matrix shrinking unit 203. The zero forcing vector selector 202 selects a row having is the minimum index k1, the jth rows, as a zero forcing vector (hereinafter, it is often referred to a ‘weight vector’), as shown in Equation 3. That is, the zero forcing vector is a row vector composed of only the jth row.wkr=(Gi)k1   [Equation 3]
Further, the zero forcing vector selector 202 selects the zero forcing vector and calculates the selected transposed matrix wk1T.
The multiplier 204 receives the transposed matrix and multiplies the transposed matrix wk1T by a received symbol ri, and generates an output symbol as in the following Equation 4.ykr=wkrTri   [Equation 4]
The output symbol is inputted to the demapper 205, and the demapper detects the output symbol by using a boundary condition, and can obtain estimated information âkr as in the following Equation 5.âkr=Q(ykr)   [Equation 5]
Equation 5 is a kind of limiter function.
The output from the demapper 205 is inputted to the parallel-serial converter 24 for decoding, and is inputted to the multiplier 206. The multiplier receives the output from the demapper 205 and the column vector from the first switch SW1. The first switch SW1 has a function for selecting a column.
The column selected by the first switch SW1 is the column of the original matrix Hi which corresponds to the column with the minimum index calculated at the norm & minimum calculator 201.
The output from the multiplier 206 is inputted to the subtractor 207, and a new received symbol ri+1 is calculated according to the following Equation 6.
The estimated symbol is multiplied by the corresponding channel vector, and the multiplication result of the estimated symbol and the corresponding channel vector is subtracted from the original received symbol signal. Then, the components of the corresponding symbol are cancelled from the received symbol, and other components are left in the received symbol.ri+1ri−âkr(H)kr   [Equation 6]
Here, ri is a symbol vector received first, âkr(H)kr is a multiplication result of the estimated symbol âkr and a k1th vector (H)kr of the received channel matrix. The âkr(H)kr indicates how the: akr component among the received symbols affects the received symbol through the channel. Therefore, ri+1 means a received symbol of other components except the akr component.
Therefore, to detect other symbols by using ri+1, the above process is repeated in the original received channel matrix except the kith channel vector. That is, the channel matrix except the kith channel vector is referred to H ki, and its pseudo inverse matrix Gi+1 can be calculated according to Equation 7.Gi+1=H kr+  [Equation 7]
In the same manner, the norm & minimum calculator 201 seeks a norm of each row of the Gi+1 matrix and finds a minimum of the norms according to Equation 8.
                              k                      i            +            1                          =                                            arg              ⁢                                                          ⁢              min                                      j              ∉                              {                                                      k                    1                                    ⁢                  ⋯                  ⁢                                                                          ⁢                  k                  ⁢                                                                          ⁢                  i                                                              ⁢                                          ⁢                                                                                    (                                      G                                          i                      +                      1                                                        )                                j                                                    2                                              [                  Equation          ⁢                                          ⁢          8                ]            
Here, a (Gi+1)j matrix is the jth row of the Gi+1 matrix.
As such, in the V-BLAST system, the pseudo inverse matrix calculator for obtaining the pseudo inverse matrix of the channel transfer function matrix H requires the largest space among performing algorithms to embody the V-BLAST system.
In addition, in the general V-BLAST system, the pseudo inverse matrix for input to the pseudo inverse matrix calculator is directly operated. Generally, each element of the channel matrix is a complex number. Thus, a complex hardware is required to operate the pseudo inverse matrix for the channel matrix directly.